package com.mjf.scala.chapter10

/**
 * 隐式类
 * （1）其所带的构造参数有且只能有一个
 * （2）隐式类必须被定义在“类”或“伴生对象”或“包对象”里，即隐式类不能是顶级的。
 */
object Scala03_TestImplicit {
  def main(args: Array[String]): Unit = {

    println(2.max(5))
    println(2.jMax(5))

  }

  implicit class JRichInt(var self: Int) {

    def jMax(i: Int): Int = {
      if (self < i) i else self
    }

    def jMin(i: Int): Int = {
      if (self < i) self else i
    }

  }
}

